package com.woniu.service;

import com.alipay.api.AlipayApiException;
import com.woniu.commons.exception.YogaException;
import com.woniu.model.dto.RefundDto;
import com.woniu.model.model.YGoodsOrder;
import com.woniu.model.model.YRefund;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniu.model.param.ApplyParam;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 胡歌
 * @since 2024年05月28日
 */
public interface YRefundService extends IService<YRefund> {
    /**
     * 用户申请退款  无返回值
     * @param param
     */
    void apply(ApplyParam param);
    /**
     * 查询申请退款订单 返回一个集合
     * @param
     */
    List<RefundDto> loadAllRefund(Integer refundState);



    List<YRefund> selctRefund();


    void sendRefundQueue(String orderNum)throws AlipayApiException;

    /**
     * 同意退款 并还原商品数量
     * @param orderNum
     */
     void agreeRefund(String orderNum);

    /**
     * 调用支付宝接口 退款
     * @param orderNum
     * @throws AlipayApiException
     */
     void refund(String orderNum) throws AlipayApiException;


    void rejectRefund(Integer refundId);
}
